package com.itheima.homework.test3;

/**
 * @author jiangxun
 * @date 11-19-2024
 * 定义一个父类Animal 包含name,weight属性和一个抽象的eat方法
 * 定义两个子类Dog和Cat,Dog特有方法lookHome,Cat特有方法catchMouse;并且重写eat方法,Dog吃骨头,Cat吃鱼
 * 要求:使用多态形式创建Dog和Cat对象,调用eat方法,并且使用向下转型,如果是Cat类型调用catchMouse功能,如果是Dog类型调用lookHome功能
 *
 */
public class Test3 {
    public static void main(String[] args) {
        // 使用多态创建Dog对象
        Animal dog = new Dog("旺财", 5);
        Animal cat = new Cat("咪咪", 3);
        // 调用eat方法
        cat.eat();
        dog.eat();
        // 使用instanceof判断向下转型
        if(dog instanceof Dog){
            ((Dog) dog).lookHome();
        }
        if(cat instanceof Cat){
            ((Cat) cat).catchMouse();
        }
    }
}
